1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.google.common.util.concurrent;
18
19 import com.google.common.annotations.Beta;
20
21 import java.util.concurrent.AbstractExecutorService;
22 import java.util.concurrent.Callable;
23
24 import javax.annotation.Nullable;
25
26
27
28
29
30
31
32
33
34
35
36
37 @Beta
38 public abstract class AbstractListeningExecutorService
39 extends AbstractExecutorService implements ListeningExecutorService {
40
41 @Override protected final <T> ListenableFutureTask<T> newTaskFor(Runnable runnable, T value) {
42 return ListenableFutureTask.create(runnable, value);
43 }
44
45 @Override protected final <T> ListenableFutureTask<T> newTaskFor(Callable<T> callable) {
46 return ListenableFutureTask.create(callable);
47 }
48
49 @Override public ListenableFuture<?> submit(Runnable task) {
50 return (ListenableFuture<?>) super.submit(task);
51 }
52
53 @Override public <T> ListenableFuture<T> submit(Runnable task, @Nullable T result) {
54 return (ListenableFuture<T>) super.submit(task, result);
55 }
56
57 @Override public <T> ListenableFuture<T> submit(Callable<T> task) {
58 return (ListenableFuture<T>) super.submit(task);
59 }
60 }